Keyboard: lock() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die lock()-Methode des Keyboard-Interfaces gibt ein Promise zurück, das aufgelöst wird, nachdem das Erfassen von Tastenanschlägen für beliebige oder alle Tasten auf der physischen Tastatur aktiviert wurde. Diese Methode kann nur Tasten erfassen, auf die das zugrunde liegende Betriebssystem Zugriff gewährt.

Wenn lock() mehrfach aufgerufen wird, werden nur die Tastencodes, die im letzten Aufruf angegeben wurden, gesperrt. Alle Tasten, die durch einen vorherigen Aufruf von lock() gesperrt wurden, werden entsperrt.

Syntax

js
lock()
lock(keyCodes)

Parameter

keyCodes Optional

Ein Array aus einem oder mehreren zu sperrenden Tastencodes. Wenn keine Tastencodes angegeben sind, werden alle Tasten gesperrt. Eine Liste gültiger Code-Werte finden Sie in der UI Events KeyboardEvent code Values-Spezifikation.

Rückgabewert

Ein Promise das mit undefined aufgelöst wird, wenn die Sperre erfolgreich war.

Ausnahmen

AbortError DOMException

Wird ausgelöst, wenn ein neuer Aufruf von lock() gemacht wird, bevor der aktuelle abgeschlossen ist.

InvalidAccessError DOMException

Wird ausgelöst, wenn eine Taste in keyCodes kein gültiger Tastencode-Attributwert ist.

InvalidStateError DOMException

Wird ausgelöst, wenn lock() nicht in einem aktiven Top-Level-Browsing-Kontext aufgerufen wird.

Sicherheit

Temporäre Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit dieses Feature funktioniert.

Beispiele

Alle Tasten erfassen

Das folgende Beispiel erfasst alle Tastenanschläge.

js
navigator.keyboard.lock();

Bestimmte Tasten erfassen

Das folgende Beispiel erfasst die Tasten "W", "A", "S" und "D". Es erfasst diese Tasten unabhängig davon, welche Modifikatoren mit dem Tastenanschlag verwendet werden. Bei einem standardmäßigen US-QWERTY-Layout sorgt die Registrierung von "KeyW" dafür, dass "W", Shift+"W", Control+"W", Control+Shift+"W" und alle anderen Tastenkombinationen mit Modifikatoren für "W" an die App gesendet werden. Das Gleiche gilt für "KeyA", "KeyS" und "KeyD".

js
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);

Spezifikationen

Specification
Keyboard Lock
# h-keyboard-lock

Browser-Kompatibilität